//js数字

//将数值以不同进制输出
let num = 23;
console.log(num.toString(16))//16进制
console.log(num.toString(8))//8进制
console.log(num.toString(2))//2进制

var x = 0.2 + 0.1;
console.log(x)//输出：0.30000000000000004

var y = 100 / "apple";
console.log(y)//输出NaN(not a number)

var z = 100 / "apple";
isNaN(z);
console.log(isNaN(z))


//tostring()以字符串返回数值
var i = 1234;
console.log(i.toString())//从变量x返回1234
console.log((1234).toString())//从文本返回1234
console.log((1000 + 234).toString())//从表达式100 + 234返回1234


//toExponential()返回字符串值，包含已被四舍五入并使用指针计数法的数字
//参数定义小数点后的字符数
let j = 1.23345;
console.log(j.toExponential(2))

//toFixed()返回字符串值，包含指定位数小数的数字
let k = 0.969;
console.log(k.toFixed(0))
console.log(k.toFixed(2))

//toPrecision()返回字符串值，包含了指定长度的数字
console.log(k.toPrecision())
console.log(k.toPrecision(6))


//valueOf()以数值返回数值
let age = 23;
console.log(age.valueOf())//从变量age返回23
console.log((23).valueOf())//从文本23返回23
console.log((20+3).valueOf())//从表达式20+3返回23

//Number()可用于把javascript变量转换为数值
var bool = true;
console.log(Number(bool))
var bool1 = false;
console.log(Number(bool1))
// var data = new Data();
// console.log(Number(data))
// var data = new Data("2021-8-23");
// console.log(Number(data))


//parseInt()解析一段字符串并返回数值，允许空格，只返回首个数字
console.log(parseInt("23"))
console.log(parseInt("23.5"))
console.log(parseInt("23 24 25"))
console.log(parseInt("mahu 23"))

//parseFloat()解析一段字符串并返回数值，允许空格。只返回首个数字
console.log(parseFloat("23.5"))
